---
id: 60fab8367d35de04e5cb7929
title: ステップ 31
challengeType: 0
dashedName: step-31
---

# --description--

新しく追加したラベル内の `input` 要素の直後に、`I accept the terms and conditions` というテキストを追加してください。 そして、テキストの `terms and conditions` の部分を次の場所へリンクさせてください:

```md
https://www.freecodecamp.org/news/terms-of-service/
```

# --hints--

3 つ目のフィールドセットの後に続くラベルに、`I accept the terms and conditions` というテキストを追加してください。

```js
assert.equal(document.querySelector('fieldset:nth-child(3) + label')?.innerText.trim(), 'I accept the terms and conditions');
```

`a` 要素を使用して、利用規約 (terms and conditions) へのリンクを作成してください。

```js
assert.exists(document.querySelector('fieldset:nth-child(3) + label a'));
```

新しく追加するテキストは、`label` 要素内の `input` 要素の直後に追加してください。

```js
assert.exists(document.querySelector('fieldset:nth-child(3) + label > input + a'));
```

`a` 要素の `href` を `https://www.freecodecamp.org/news/terms-of-service/` に設定する必要があります。

```js
assert.match(document.querySelector('fieldset:nth-child(3) + label > input + a')?.href, /https:\/\/www\.freecodecamp\.org\/news\/terms-of-service\/?/);
```

`terms and conditions` というテキストのみを `a` 要素で囲む必要があります。

```js
assert.equal(document.querySelector('fieldset:nth-child(3) + label > input + a')?.textContent.trim(), 'terms and conditions');
```

アンカー要素内のテキストの先頭か末尾に、余分なスペースが入っています。 アンカーテキスト内にあるスペースは、`terms` `and` `conditions` という単語の間だけのはずです。

```js
const nestedAnchor = document.querySelector('fieldset:nth-child(3) + label > input + a')?.textContent;
const innerContent = nestedAnchor.innerHTML;
assert.isNotTrue(/^\s+|\s+$/.test(innerContent));
```

# --seed--

## --seed-contents--

```html
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>Registration Form</title>
    <link rel="stylesheet" href="styles.css" />
  </head>
  <body>
    <h1>Registration Form</h1>
    <p>Please fill out this form with the required information</p>
    <form method="post" action='https://register-demo.freecodecamp.org'>
      <fieldset>
        <label for="first-name">Enter Your First Name: <input id="first-name" type="text" required /></label>
        <label for="last-name">Enter Your Last Name: <input id="last-name" type="text" required /></label>
        <label for="email">Enter Your Email: <input id="email" type="email" required /></label>
        <label for="new-password">Create a New Password: <input id="new-password" type="password" pattern="[a-z0-5]{8,}" required /></label>
      </fieldset>
      <fieldset>
        <legend>Account type (required)</legend>
        <label for="personal-account"><input id="personal-account" type="radio" name="account-type" checked /> Personal</label>
        <label for="business-account"><input id="business-account" type="radio" name="account-type" /> Business</label>
      </fieldset>
      <fieldset></fieldset>
--fcc-editable-region--
      <label for="terms-and-conditions"><input id="terms-and-conditions" type="checkbox" required /></label>
--fcc-editable-region--
      <input type="submit" value="Submit" />
    </form>
  </body>
</html>
```

```css
body {
  width: 100%;
  height: 100vh;
  margin: 0;
  background-color: #1b1b32;
  color: #f5f6f7;
}

label {
  display: block;
  margin: 0.5rem 0;
}

```
